﻿using System;
using System.ComponentModel;

namespace VNet.VisiSuite.VisiAdmin.Models
{
    public class BraiderProductModel : ComparableBaseModel<ProductionPlanModel>, IDataErrorInfo
    {
        private int _braiderProductId;
        private short _braderProductNumber;
        private string _braiderType;
        private short _carrierCount;
        private int _clientId;
        private short _deckCount;
        private decimal _feetPerMinute;
        private short _hoseCount;
        private string _hoseSize;
        private string _hoseSpec;
        private int? _operatorId;
        private bool _split;

        public int BraiderProductId
        {
            get { return _braiderProductId; }
            set
            {
                _braiderProductId = value;
                OnPropertyChanged("BraiderProductId");
            }
        }

        public short BraiderNumber
        {
            get { return _braderProductNumber; }
            set
            {
                _braderProductNumber = value;
                OnPropertyChanged("BraiderNumber");
            }
        }

        public string BraiderType
        {
            get { return _braiderType; }
            set
            {
                _braiderType = value;
                OnPropertyChanged("BraiderType");
            }
        }

        public short CarrierCount
        {
            get { return _carrierCount; }
            set
            {
                _carrierCount = value;
                OnPropertyChanged("CarrierCount");
            }
        }

        public int ClientId
        {
            get { return _clientId; }
            set
            {
                _clientId = value;
                OnPropertyChanged("ClientId");
            }
        }

        public short DeckCount
        {
            get { return _deckCount; }
            set
            {
                _deckCount = value;
                OnPropertyChanged("DeckCount");
            }
        }

        public decimal FeetPerMinute
        {
            get { return _feetPerMinute; }
            set
            {
                _feetPerMinute = value;
                OnPropertyChanged("FeetPerMinute");
            }
        }

        public short HoseCount
        {
            get { return _hoseCount; }
            set
            {
                _hoseCount = value;
                OnPropertyChanged("HoseCount");
            }
        }

        public string HoseSize
        {
            get { return _hoseSize; }
            set
            {
                _hoseSize = value;
                OnPropertyChanged("HoseSize");
            }
        }

        public string HoseSpec
        {
            get { return _hoseSpec; }
            set
            {
                _hoseSpec = value;
                OnPropertyChanged("HoseSpec");
            }
        }

        public int? OperatorId
        {
            get { return _operatorId; }
            set
            {
                _operatorId = value;
                OnPropertyChanged("OperatorId");
            }
        }

        public bool Split
        {
            get { return _split; }
            set
            {
                _split = value;
                OnPropertyChanged("Split");
            }
        }

        public string this[string columnName]
        {
            get { throw new NotImplementedException(); }
        }

        public string Error { get; private set; }
    }
}
